package com.basker.pisces.concurrent.lock;

import java.util.Collection;

/**
 * 锁对象管理器，外部通过管理器获取锁对象
 *
 * @author hangwen
 */
public interface ILockManager {

    /**
     * 获取指定key的锁对象，相同key的锁在逻辑上是同一个对象，用于并发控制
     *
     * @param key
     * @return
     */
    ILock getLock(String key);

    Collection<String> getLockKeys();

    String getName();

}
